﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using PMQLCHH.BUS;
using PMQLCHH.DTO;

namespace PMQLCHH.GUI
{
    public partial class KHACHHANG : DevComponents.DotNetBar.Office2007Form
    {
        public string makhachhang;

        public KHACHHANG()
        {
            InitializeComponent();

        }

        private void KHACHHANG_Load(object sender, EventArgs e)
        {
            NapDuLieu();
        }

        private void btn_them_Click(object sender, EventArgs e)
        {
            string makh = KhachHangBUS.GetMaKhachHang();

            KhachHangDTO kh = new KhachHangDTO();
            kh.Makhachhang = makh.ToString();
            kh.Tenkhachhang = txt_TenKhachHang.Text;
            kh.Diachi = txt_DiaChi.Text;
            kh.Sodienthoai = txt_SoDienThoai.Text;
            kh.Email = txt_Email.Text;
            kh.Loaikhachhang = int.Parse(cbb_LoaiKhachHang.SelectedValue.ToString());
            kh.Masothue = txt_MaSoThue.Text;
            kh.Ghichu = txt_GhiChu.Text;
            kh.Trangthai = 1;
            if (rd_nam.Checked == true)
            {
                kh.Phai = 1;
            }
            else
            {
                kh.Phai = 0;
            }
            bool kq = KhachHangBUS.InsertKhachHang(kh);
            if (kq == true)
            {
                MessageBox.Show("Thêm thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                ClearConTrol();
            }
            else
            {
                MessageBox.Show("Thêm thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

        public void NapDuLieu()
        {
            this.txt_TenKhachHang.Select();
            toolTip1.SetToolTip(this.txt_TenKhachHang, "Điền vào họ tên khách hàng");
            toolTip1.SetToolTip(this.txt_DiaChi, "Điền vào địa chỉ khách hàng");
            toolTip1.SetToolTip(this.txt_SoDienThoai, "Điền vào số điện thoại khách hàng");
            toolTip1.SetToolTip(this.txt_Email, "Điền vào email khách hàng");
            toolTip1.SetToolTip(this.cbb_LoaiKhachHang, "Chọn loại khách hàng");
            toolTip1.SetToolTip(this.txt_MaSoThue, "Điền vào mã số thuế khách hàng");
            toolTip1.SetToolTip(this.txt_GhiChu, "Điền vào ghi chú khách hàng");
            toolTip1.SetToolTip(this.txt_timkiem, "Điền vào thông tin tìm kiếm");



            //Load loai khach hang
            DataTable dt = KhachHangBUS.LoadListLoaiKhachHang();
            DataTable dt_timkiem = KhachHangBUS.LoadListLoaiKhachHang();
            if (dt.Rows.Count > 0)
            {
                cbb_LoaiKhachHang.DataSource = dt;
                cbb_LoaiKhachHang.ValueMember = "MaLoaiKhachHang";
                cbb_LoaiKhachHang.DisplayMember = "TenLoaiKhachHang";

            }

            if (dt_timkiem.Rows.Count > 0)
            {

                DataTable dt_kh_add = new DataTable();
                dt_kh_add.Columns.Add("MaLoaiKhachHang");
                dt_kh_add.Columns.Add("TenLoaiKhachHang");


                for (int i = 0; i < dt_timkiem.Rows.Count; i++)
                {
                    if (i == 0)
                    {
                        DataRow row1 = dt_kh_add.NewRow();
                        row1["MaLoaiKhachHang"] = "0";
                        row1["TenLoaiKhachHang"] = "Tất Cả Loại Khách Hàng";
                        dt_kh_add.Rows.Add(row1);
                    }

                    DataRow row = dt_kh_add.NewRow();
                    row["MaLoaiKhachHang"] = dt_timkiem.Rows[i]["MaLoaiKhachHang"].ToString();
                    row["TenLoaiKhachHang"] = dt_timkiem.Rows[i]["TenLoaiKhachHang"].ToString();
                    dt_kh_add.Rows.Add(row);
                }

                cbb_khachhang.DataSource = dt_kh_add;
                cbb_khachhang.ValueMember = "MaLoaiKhachHang";
                cbb_khachhang.DisplayMember = "TenLoaiKhachHang";


            }


            //Load DS DataGridView
            DataTable dt_kh = KhachHangBUS.LoadListKhachHang();

            if (dt_kh.Rows.Count > 0)
            {
                dtg_DanhSachKhachHang.AutoGenerateColumns = false;
                dtg_DanhSachKhachHang.DataSource = dt_kh;
                //dtg_DanhSachKhachHang.DataMember = "MaKhachHang";
            }
        }

        public void ClearConTrol()
        {
            txt_TenKhachHang.Text = "";
            txt_DiaChi.Text = "";
            txt_SoDienThoai.Text = "";
            txt_Email.Text = "";
            txt_MaSoThue.Text = "";
            txt_GhiChu.Text = "";
            rd_nam.Checked = true;
            rd_nu.Checked = false;
            btn_capnhat.Visible = true;
            btn_huy.Visible = false;
            btn_Luu.Visible = false;
            NapDuLieu();
        }

        private void btn_lammoi_Click(object sender, EventArgs e)
        {
            ClearConTrol();
        }

        private void btn_capnhat_Click(object sender, EventArgs e)
        {
            btn_Luu.Visible = true;
            btn_huy.Visible = true;
            btn_capnhat.Visible = false;


            makhachhang = dtg_DanhSachKhachHang.CurrentRow.Cells[1].Value.ToString();
            txt_TenKhachHang.Text = dtg_DanhSachKhachHang.CurrentRow.Cells[2].Value.ToString();
            txt_DiaChi.Text = dtg_DanhSachKhachHang.CurrentRow.Cells[3].Value.ToString();
            txt_SoDienThoai.Text = dtg_DanhSachKhachHang.CurrentRow.Cells[4].Value.ToString();
            txt_Email.Text = dtg_DanhSachKhachHang.CurrentRow.Cells[5].Value.ToString();
            if (dtg_DanhSachKhachHang.CurrentRow.Cells[6].Value.ToString() == "1")
            {
                rd_nam.Checked = true;
            }
            else
            {
                rd_nu.Checked = true;
            }
            cbb_LoaiKhachHang.Text = dtg_DanhSachKhachHang.CurrentRow.Cells[7].Value.ToString();
            txt_MaSoThue.Text = dtg_DanhSachKhachHang.CurrentRow.Cells[8].Value.ToString();
            txt_GhiChu.Text = dtg_DanhSachKhachHang.CurrentRow.Cells[9].Value.ToString();
        }

        private void btn_Luu_Click(object sender, EventArgs e)
        {
            KhachHangDTO kh = new KhachHangDTO();
            kh.Makhachhang = makhachhang.ToString();
            kh.Tenkhachhang = txt_TenKhachHang.Text;
            kh.Diachi = txt_DiaChi.Text;
            kh.Sodienthoai = txt_SoDienThoai.Text;
            kh.Email = txt_Email.Text;
            kh.Loaikhachhang = int.Parse(cbb_LoaiKhachHang.SelectedValue.ToString());
            kh.Masothue = txt_MaSoThue.Text;
            kh.Ghichu = txt_GhiChu.Text;

            if (rd_nam.Checked == true)
            {
                kh.Phai = 1;
            }
            else
            {
                kh.Phai = 0;
            }
            bool kq = KhachHangBUS.UpdateKhachHang(kh);
            if (kq == true)
            {
                MessageBox.Show("Cập nhật thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                ClearConTrol();
            }
            else
            {
                MessageBox.Show("Cập nhật thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void btn_huy_Click_1(object sender, EventArgs e)
        {
            btn_huy.Visible = false;
            btn_Luu.Visible = false;
            btn_capnhat.Visible = true;
            ClearConTrol();

        }

        private void KHACHHANG_FormClosing(object sender, FormClosingEventArgs e)
        {
            ClearConTrol();
        }

        private void btn_xoa_Click(object sender, EventArgs e)
        {

            if (MessageBox.Show("Bạn có chắc muốn xóa hay không", "Thông báo", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
            {
                bool kq = false;
                foreach (DataGridViewRow row in dtg_DanhSachKhachHang.Rows)
                {
                    DataGridViewCheckBoxCell chk_chon = row.Cells[0] as DataGridViewCheckBoxCell;

                    if (Convert.ToBoolean(chk_chon.Value) == true)
                    {
                        KhachHangDTO kh = new KhachHangDTO();
                        kh.Makhachhang = row.Cells[1].Value.ToString();
                        kq = KhachHangBUS.DeleteKhachHang(kh);
                    }
                }

                if (kq == true)
                {
                    MessageBox.Show("Xóa thành công", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    MessageBox.Show("Xóa thất bại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }

            }



        }

        private void btn_thoat_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btn_timkiem_Click(object sender, EventArgs e)
        {

            int flag = 0;
            KhachHangDTO kh = new KhachHangDTO();
            if (rd_makhachhang.Checked == true)
            {
                flag = 0;
                kh.Makhachhang = txt_timkiem.Text;
            }
            if (rd_tenkhachhang.Checked == true)
            {
                flag = 1;
                kh.Tenkhachhang = txt_timkiem.Text;
            }

            if (rd_diachi.Checked == true)
            {
                flag = 2;
                kh.Diachi = txt_timkiem.Text;
            }
            if (rd_dienthoai.Checked == true)
            {
                flag = 3;
                kh.Sodienthoai = txt_timkiem.Text;
            }

            kh.Loaikhachhang = int.Parse(cbb_khachhang.SelectedValue.ToString());

            DataTable dt = KhachHangBUS.SearchKhachHang(kh, flag);

            if (dt.Rows.Count > 0)
            {
                dtg_DanhSachKhachHang.AutoGenerateColumns = false;
                dtg_DanhSachKhachHang.DataSource = dt;
            }
        }

    }
}